Чисельні методи розв’язування нелінійних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут післядипломної освіти
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Чисельні методи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет “Львівська політехніка” Інститут післядипломної освіти ЗВІТ Про виконання лабораторної роботи №1 «Чисельні методи розв’язування нелінійних рівнянь» з дисципліни «Чисельні методи» Мета роботи: Ознайомлення на практиці з методами відокремлення дійсних ізольованих коренів нелінійних рівнянь та ітераційними методами їх уточнення. Теоретичні відомості Процес розв’язання нелінійних рівнянь вигляду (4.1) або (4.2) на ЕОМ розбивається на два етапи: 1. відокремлення коренів; 2. уточнення коренів. Графічний метод. Будують графік функції  для рівняння виду  або представляють рівняння у вигляді  та будують графіки функцій  та . Значення дійсних коренів рівняння є абсцисами точок перетину графіка функції  з віссю  або абсцисами точок перетину графіків функцій  та . Відрізки, в яких знаходиться тільки по одному кореню, легко знаходяться наближено. Метод половинного ділення / / / Хід роботи 1. Відокремлення коренів здійснюемо графічним методом: будуємо графік функції у= після аналізу графіку функції робимо висновок, що розвязок функції знаходиться на проміжку від 0 до 1. / 2. Здійснюємо уточнення коренів методом половинного ділення: #include <iostream> #include <conio.h> #include <stdio.h> using namespace std; double a, b, E, y, xo; double f (double x); double f (double x) {y=x*x*x+0.3*x*x+x-1.2; return y;} void main() { cout<<"vvedit a "; cin>>a; // введення проміжку , що містить розвязок рівняння cout<<"vvedit b"; cin>>b; while(abs(a-b)>0.001) // задается точність { if(f(a)*f(b)>0) cout<<"zminit a ta b"; // якщо на проміжку від а до б знак функц. не змін else // то цей пром. не містить розв. { xo=(a+b)/2.0; //знаходимо середину відрізка if(f(xo)==0) cout<<"rozvjazok rivnyannya "<<(a+b)/2.0; else {if(f(a)*f(xo)<0) b=xo; else a=xo;} //беремо той відрізок, на якому змін. } //знак функції } cout<<(a+b)/2.0; //цикл завершився- вивід розвязку _getch(); } 3. Результати роботи програми: / 4. Уточнення коренів методом хорд. #include <iostream> #include <conio.h> #include <stdio.h> using namespace std; double a, b, E, y, xo; double f (double x); double f (double x) {y=x*x*x+0.3*x*x+x-1.2; return y;} void main() { cout<<"vvedit a "; cin>>a; // введення проміжку , що містить розвязок рівняння cout<<"vvedit b"; cin>>b; E=1; if(f(a)*f(b)>0) cout<<"zminit a ta b"; // якщо на проміжку від а до б знак функц. не змін else // то цей пром. не містить розв. { while(E) // задается точність { xo=a-(f(a)*(b-a)/(f(b)-f(a))); //Знайдемо значення xo, для якого y=0 if(abs(a-xo)>0.001) E=1; else E=0; // перевіряємо точність a=xo; } } cout<<xo; //цикл завершився- вивід розвязку _getch(); } 5. Результати роботи програми. / Висновки В ході даної лабораторної роботи на практиці розглядалися методи розв’язування нелінійних рівнянь, а саме : графічним методом здійснене відокремлення коренів, після чого уточнення коренів методом бісекцій та хорд.
Антиботан аватар за замовчуванням

02.06.2014 21:06

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини